草庐IT

Java AES 加盐加密

全部标签

java - 在 spring-ws (wss4j) 中添加加密/解密的正确方法是什么?

我已经部署了2个Web应用程序,一个代表Web服务,另一个代表ws客户端。当使用SIGNING和TIMESTAMP-ing时,一切正常,客户端标记消息(但我认为他没有覆盖默认的300sttl),用他的x509证书签署消息,并将其发送到ws。另一方面,他接收消息并能够根据他的keystore中的客户信任证书验证时间戳和证书/签名。当我将加密操作添加到我的配置时出现问题。客户端似乎能够加密消息,但ws似乎对解密消息不感兴趣。他只是看到没有端点映射[SaajSoapMessage{http://www.w3.org/2001/04/xmlenc#}EncryptedData]andthrow

java - 关于 Java 文件加密性能的建议

我正在做一些文件加密相关的工作。我能够加密/解密文件,但面临一个主要的性能问题。当我简单地读/写一个700MB大小的视频文件时,我的代码执行速度约为27-28MB/s。但是当我执行加密时(我目前正在使用PBEWithMD5AndDES,稍后我会更改)代码显示速度为9MB/s。请告知我在哪里可以改进。代码片段:intc=0,BUF_SIZE=8192;byte[]b=newbyte[BUF_SIZE];FileInputStreamfis;DataInputStreamdis;FileOutputStreamfos;DataOutputStreamdos;CipherOutputStre

Java 等效于 C# AES 加密

我在C#中有以下代码。它使用AES对称算法对字节数组进行编码。我需要编写与此代码等效的Java。classProgram{staticvoidMain(string[]args){stringa="ABCDEFGHIJKLMNOP";byte[]bytes=Encoding.ASCII.GetBytes(a);byte[]cipher=encode(bytes,"1111111122222222111111112222222211111111222222221111111122222222","66666666555555556666666655555555");}privatesta

java - 简单的一行,Java中的原生加密/解密方法

Java中是否有一个非常简单的native方法来使用key加密/解密字符串?我真的不在乎什么类型的加密(AES、DES等),我只在乎它是用key绑定(bind)的并且不容易破解。理想情况下,我希望它是这样的单行解决方案:StringencryptedString=NativeEncryptionClass.encrypt("thisisthedata","key123");谢谢 最佳答案 不确定您是否可以在[legiable]一行中做到这一点,但您可以相对轻松地实现简单的对称加密-请看以下示例:PrivateExampleusing

java - 使用 BouncyCaSTLe 轻量级 API 的 AES-256 加密

我使用Java的内置加密库编写了一些(功能性)AES加密代码,如下所示,但我想使用256位key。但是,我希望无需用户安装UnlimitedStrengthCryptographyPolicy文件即可执行此操作。现在,我听说使用BouncyCaSTLeLightweightAPI可以让我做到这一点,但不幸的是,我在理解它时遇到了很多麻烦,并且正在努力寻找任何对我有帮助的文档。这是我当前的代码,其中'content'是要加密的字节数组:KeyGeneratorkgen=KeyGenerator.getInstance("AES");intkeySize=128;kgen.init(key

java - 在 Java 中使用 AES 256 加密 RSA 私钥

我正在用Java编写一个安全的文件共享应用程序。总体架构如下所示:用户希望加密文件以在多个用户之间安全共享。应用程序在客户端生成一个随机UUID并将其用作AES256密码,并使用UUID加密数据。然后使用每个人的公钥对UUID进行RSA加密。每个共享用户一次。每个加密的UUID数据包都作为文件的一部分存储在自定义文件头中。然后文件会上传到其他人可以访问的服务器。每个用户都可以使用他们的私钥来读取AES加密key并解密文件。这里是陷阱。用户的私钥必须加密并存储在我们服务器的数据库中,以便可以从多个位置访问文件。在上传到服务器之前,私钥将使用客户端上用户选择的密码进行加密。我想使用AES2

java - 使用单个密码对象或两个不同的对象进行解密和加密操作?

如您所知,当我们要使用JavaCards进行密码学操作时,我们必须使用Cipher对象。我的问题实际上与效率有关。假设我想使用AESkey执行一些加密和解密操作。以下哪种策略更好?定义两个不同的Cipher对象并用一个key初始化它们,但模式不同(MODE_ENCRYPT和MODE_DECRYPT)。然后对于每个操作,我只需要在适当的对象上调用doFinal()方法。定义单个Cipher对象,每次调用doFinal()方法之前,使用适当的方法对该对象执行init()方法调用模式。 最佳答案 首先,根据Cipher.doFinal(.

c# - 在 C# 中使用 RSA 加密和在 Java 中解密时出现填充错误

目前,我在使用Java解密在C#中生成的Base64编码RSA加密字符串时收到以下错误:javax.crypto.BadPaddingException:NotPKCS#1blocktype2orZeropadding.NET和Java之间的交换设置过程是通过在.NETkeystore中创建私钥,然后从提取的PEM文件中创建的,使用keytool创建带有私钥的JKS版本。Java加载已经创建的JKS并将Base64字符串解码成字节数组,然后使用私钥解密。这是我在C#中创建加密字符串的代码:publicstringEncrypt(stringvalue){byte[]baIn=null;

java - 在java中使用AES有效加密文件

我正在开发一个应该加密一些小文件(小于1MB)和大文件(大约500MB)的应用程序。如何加密文件并将加密版本有效地保存在磁盘上的某个位置(即快速)?如果花时间我可以有加密进度吗? 最佳答案 假设您有一个AESkey和一些输出流,下面介绍了如何向流中添加加密装饰器。Cipherenc=Cipher.getInstance("AES/CBC/PKCS5Padding");enc.init(Cipher.ENCRYPT_MODE,key);AlgorithmParametersparams=enc.getParameters();IvPa

Java 加密内存类加载器

我会开门见山,这样您就不必阅读很多书了。基本上,我有一个AES-128位加密的Jar文件。我想制作一个启动器,以便我可以将这个加密的Jar加载到内存中并运行它(使用key)。我有一个简单的类加载器在工作,但除非我将它解密到一个目录并运行它,否则它显然不会执行我需要的操作(解密和内存加载)。TL;DR:我需要在内存中运行AES-128位加密Jar。非常感谢任何帮助,请随时提问! 最佳答案 有关如何从byte[]加载jar/class的示例代码(这应该是您在内存中解密后得到的结果/无需将其保存在文件系统中的任何位置)参见http://w